<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字符串方法</title>
</head>

<body>
    <script>
        // charAt()返回指定位置的字符，参数时从0开始编号的
        var str = "sgdahdhsja"
        str.charAt(3)  //'a'

        // concat()连接字符串
        var str1 = 'hdkjs';
        var num = 123;
        str1.concat('ksah', num) //"hdkjsksah123"

        // slice()用于从原字符串取出子字符串，两个参数
        var str2 = 'sghdjlhadku';
        str2.slice(0, 3)   //'sgh'
        str2.slice(6, -4)  //'h'
        str2.slice(3);    //'djlhadku'

        // indexOf()方法用于确定一个字符串在另一个字符串中第一次出现的位置，返回结果是匹配开始的位置。如果返回-1，就表示不匹配
        var str3 = 'shgdhjhgjksadhmxcnb'
        str3.indexOf('h')   //1
        str3.indexOf('h', 7)   //13

        // lastIndexOf()方法用于确定确定一个字符串在另一个字符串中最后一次出现的位置。返回结果是匹配开始的位置。如果返回-1，就表示不匹配
        var str4 = 'sdhkjancmnzvuwhe'
        str4.lastIndexOf('h')   //14

        // toUpperCase()将字符串转换为大写
        // toLowerCase()将字符串转换为小写
        var str5 = 'gdhacnbzetiu'
        str5.toLowerCase();  //gdhacnbzetiu
        str5.toUpperCase();  //GDHACNBZETIU

        // 首字母大写
        var str6 = 'shdGkjfJGHJKcmn'
        str6.charAt(0).toUpperCase() + str6.slice(1).toLowerCase()         //'Shdgkjfjghjkcmn'

        // search()方法确定原字符串是否含有该子字符串，返回值为第一次出现位置，没有返回-1
        var str7 = 'fsjkashlasdf'
        str7.search('asdf')  //8

        // replace()用于替换指定字符串
        var str8 = 'fghhgjvbrdhvjhuy'
        str8.replace('ghh', 'fgf')   //'ffgfgjvbrdhvjhuy'

        // split()使用给定规则分割字符串
        var str9 = 'as|da|fd|sd|ffa|sad'
        str9.split('|')   //['as', 'da', 'fd', 'sd', 'ffa', 'sad']
        str9.split('|', 3) //['as', 'da', 'fd']
        console.log(str9.split('|', 3));


        // es6新增
        // includes()：返回布尔值，表示是否找到了参数字符串

        // startsWith()：返回布尔值，表示参数字符串是否在原字符串的头部

        // endsWith()：返回布尔值，表示参数字符串是否在原字符串的尾部
        
        // repeat方法返回一个新字符串，表示将原字符串重复n次。

        // at()方法接受一个整数作为参数，返回参数指定位置的字符，支持负索引（即倒数的位置）。
    </script>
</body>

</html>